package com.ruoyi.system.service;

import java.util.List;

import com.ruoyi.system.domain.AcIndex;
import com.ruoyi.system.domain.AcWorkOrder;

/**
 * 保养维护工单Service接口
 *
 * @author ruoyi
 * @date 2025-03-06
 */
public interface IAcWorkOrderService
{
    /**
     * 查询保养维护工单
     *
     * @param id 保养维护工单主键
     * @return 保养维护工单
     */
    public AcWorkOrder selectAcWorkOrderById(Long id);

    /**
     * 查询保养维护工单列表
     *
     * @param acWorkOrder 保养维护工单
     * @return 保养维护工单集合
     */
    public List<AcWorkOrder> selectAcWorkOrderList(AcWorkOrder acWorkOrder);

    /**
     * 新增保养维护工单
     *
     * @param acWorkOrder 保养维护工单
     * @return 结果
     */
    public int insertAcWorkOrder(AcWorkOrder acWorkOrder);

    /**
     * 修改保养维护工单
     *
     * @param acWorkOrder 保养维护工单
     * @return 结果
     */
    public int updateAcWorkOrder(AcWorkOrder acWorkOrder);

    /**
     * 批量删除保养维护工单
     *
     * @param ids 需要删除的保养维护工单主键集合
     * @return 结果
     */
    public int deleteAcWorkOrderByIds(Long[] ids);

    /**
     * 删除保养维护工单信息
     *
     * @param id 保养维护工单主键
     * @return 结果
     */
    public int deleteAcWorkOrderById(Long id);

    public AcIndex getIndexInfo(AcIndex acIndex);

    public List<AcIndex> getAssetStatus(AcIndex acIndex);



    public List<AcIndex>  getWorkOrderStatus(AcIndex acIndex);

    public List<AcIndex>  getContractStatus(AcIndex acIndex);


    public List<AcIndex>  getContractEnd(AcIndex acIndex);


    public List<AcIndex>  getWorkOrder(AcIndex acIndex);


    public List<AcIndex>  getContractRent(AcIndex acIndex);


    public List<AcWorkOrder> warnTask();

    List<AcWorkOrder> selectWorkOrderNum();

    List<AcWorkOrder> selectWorkOrderProportion();

    List<AcWorkOrder> selectWorkOrderProcessingSpeed();

    List<AcWorkOrder> selectWorkOrderType();

    List<AcWorkOrder> selectWorkOrderStatus();

    List<AcWorkOrder> selectWorkOrderUrgency();

    List<AcWorkOrder> selectWorkOrderAccumulatedTime();

    List<AcWorkOrder> selectWorkOrderInspectionFeedback();

    List<AcWorkOrder> selectWorkOrderProcessingRank();
}
